<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
    <h1>今天天气{{weather}}</h1>
    <button @click="changeWeather">点击切换天气</button>
    <h1>{{num.a}}</h1>
    <button @click="num.a++">点击a++</button>
    <button @click="num.b++">点击b++</button>
</div>
<script type="text/javascript">
    new Vue({
        el:'#root',
        data:{
            isHot:true,
            num:{
                a:1,
                b:2
            }
        },
        methods:{
            changeWeather(){
                this.isHot=!this.isHot
            }
        },
        computed:{
            weather(){
                return this.isHot? '热' : '冷'
            }
        },
        watch:{
            num:{
                deep:true,
                handler(newVal, oldVal){
                    console.log('num的值发生了变化');
                }
            },
            'num.a':{
              handler(newVal, oldVal) {
                  console.log('a的值发生了变化');
              }
            },
            // isHot:{
            //     // 立即执行
            //     immediate:true,
            //     // 当isHot的值发生变化时，执行这个函数
            //     handler(newVal,oldVal){
            //         console.log(newVal+'-'+oldVal);
            //     }
            // },
            isHot(newVal,oldVal){
                console.log(newVal+'-'+oldVal);
            }
        }
    })
</script>
</body>
</html>